iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Python

30天挑戰之高中生專題-從資料科學到生成式AI系列 第 3

Series與Dataframe - 以世界高山為例

  • 分享至 

  • xImage
  •  

在這部分課程中,我們將學習如何使用 Pandas 進行數據分析。可將 Pandas 想像成Python版的 Excel,它具有更多的功能。(當然,我們之後可以用Excel來確認看看)
以下順序學習內容概念:

  • 如何建立DataFrames
  • 讀取資料(csv, excel, html, json...)
  • 處理缺失數據 (Missing Data)
  • 函式操作 (Operatioins)
  • 對資料進行分組 (GroupBy)
  • 數據輸入和輸出 (Data Input and Output)
  • 進階:合併、連接和串接 (Merging, Joining, and Concatenating)

建立Series

可以想成「一列」或是「一欄」的資料,實際上很少單獨使用,但知道此資料型態,方便之後操作

import pandas as pd
s = [80,90,100]
#創建一個Series
s = pd.Series(s)
s
#取出Series[0]的值
s[0]
#對Series增加一個index
s = [80,90,100]
c = ['a','b','c']
s = pd.Series(s,index=c)
s

建立DataFrames

在 Excel 中,你可能經常使用工作表來存儲和組織數據。每個工作表由多行和多列組成,每個單元格存儲一個資料。這就像 Pandas 的 DataFrames 一樣。

Pandas 的 DataFrames 可以被視為 Excel 工作表的強大替代品。透過學習如何使用 Pandas,我們可以更有效地管理和分析數據。

下載及引入Pandas

可利用pip install pandas 進行安裝。
另外Pandas習慣簡稱為pd
(在Colab中已經預設安裝完成)

import pandas as pd

以各國的山的高度為例

第一列(row)為所謂的「欄名」(column name), 第一欄(column)為編號(index)

高度 (米) 山的名稱 國家
8,849 珠穆朗瑪峰 (Mount Everest) 尼泊爾/中國
8,611 喬戈里峰 (K2) 巴基斯坦/中國
8,586 干城章嘉峰 (Kangchenjunga) 尼泊爾/印度
7,546 切拉蒙巴山 (Kangkar Punsum) 不丹
6,190 德納利山 (Denali) 美國
3,952 玉山 (Yushan) 台灣
mountain_data = [
[8849, '珠穆朗瑪峰 (Mount Everest)', '尼泊爾/中國'],
[8611, '喬戈里峰 (K2)', '巴基斯坦/中國'],
[8586, '干城章嘉峰 (Kangchenjunga)', '尼泊爾/印度'],
[7546, '切拉蒙巴山 (Kangkar Punsum)', '不丹'],
[6190, '德納利山 (Denali)', '美國'],
[3952, '玉山 (Yushan)', '台灣']
]
df = pd.DataFrame(mountain_data) # 建立 DataFrame,型態可以是 list 或 dict
df

為欄位取名

為欄位取名可以更好呼叫這個欄位,等等我們來看

df.columns = ['海拔','山的名字','所屬國家']
df
data = {
'海拔': [8849, 8611, 8586, 7546, 6190, 3952],
'山的名字': ['珠穆朗瑪峰 (Mount Everest)', '喬戈里峰 (K2)', '干城章嘉峰 (Kangchenjunga)', '切拉蒙巴山 (Kangkar Punsum)', '德納利山 (Denali)', '玉山 (Yushan)'],
'所屬國家': ['尼泊爾/中國', '巴基斯坦/中國', '尼泊爾/印度', '不丹', '美國', '台灣']
}

df = pd.DataFrame(data)

print(df)

上一篇
資料科學介紹-資料到智慧,分析的過程
系列文
30天挑戰之高中生專題-從資料科學到生成式AI3
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言